package com.youdo.helper;

import android.hardware.usb.UsbDevice;

import com.youdo.service.BufferWrapper;

/**
 * 连接监听接口
 *
 * @author ljb
 * @date 2025.02.12
 * @email 568838953@qq.com
 * <p>
 * 录像状态改变监听;by ljb on 2025.03.03
 */
public interface ConnectCallback {
    /**
     * 检测到USB设备
     * 每次 register 后,检查到有usb设备都会执行
     */
    void onCheckUsbDevice(UsbDevice device);

    /**
     * 打开USB设备(正常是第一个USB设备)
     */
    void onOpenUsbDevice(UsbDevice device);

    /**
     * 关闭USB设备(拔掉USB设备)
     */
    void onCloseUsbDevice(UsbDevice device);

    /**
     * 设备是否可用
     * 等价于 enableButtons(true);
     */
    void onDeviceAvailable(boolean enable);

    /**
     * 预览是否可用
     * 等价于 setPreviewButton(true);
     */
    void onPreviewAvailable(boolean enable);

    /**
     * 录像状态改变(0-手动开始录像,1-低电量停止录像,2-手动停止录像,3-自动录制下一段视频)
     */
    void onCameraChange(int status, String msg);

    /**
     * 帧数据的回调(需要先设置 回调的帧格式 PixelFormat,<0 则不回调)
     */
    void onFrameReceived(BufferWrapper data);
}
